클로드 코드 완벽 가이드 — 7장 클로드 코드의 3가지 모드 알아보기 딥다이브 학습 노트
출처: 클로드 코드 완벽 가이드 (코드팩토리 최지호) | 참고: https://github.com/codefactory-co
7장에서 다루는 내용
- 클로드 코드의 3가지 모드 — 일반 모드, 자동 수정 모드, 플래닝 모드의 특징과 용도
- 일반 모드 — 하나하나 확인하며 배우고 제어하고 싶을 때 사용
- 자동 수정 모드 — 반복 작업을 빠르게 처리하고 싶을 때 사용
- 플래닝 모드 — 코드 작성 전에 설계와 계획을 세울 때 사용
- 모드 전환 방법과 실전 활용 노하우 — Shift+Tab 사이클, [Yes]/[No] 선택 전략
전체 흐름도
[클로드 코드 3가지 모드]
|
v
+--------+--------+--------+
| | | |
v v v v
+----------+ +-----------+ +-----------+
| 일반 모드 | | 자동 수정 | | 플래닝 |
| (기본) | | 모드 | | 모드 |
+----------+ +-----------+ +-----------+
| | |
| 수정 제안 → | 허락 없이 | 코드 작성 X
| 3가지 옵션 | 직접 수정 | 계획만 수립
| 1.Yes | |
| 2.Shift+Tab | Shift+Tab | Shift+Tab
| 3.Esc | 으로 전환 | 으로 전환
| | |
v v v
+-----------+ +-----------+ +------------------+
| 용도: | | 용도: | | 용도: |
| • 학습 | | • 리네이밍| | • 설계도 작성 |
| • 디버깅 | | • 리팩터링| | • 기술 선택 |
| • 코드리뷰| | • 문서화 | | • 아키텍처 설계 |
| • 제어권 | | • 테스트 | | • 작업 분할 |
| 유지 | | • 반복작업| | |
+-----------+ +-----------+ +------------------+
|
v
+-------------------------+
| 계획 완성 후 질문: |
| "Would you like to |
| proceed?" |
| |
| 1. Yes → 바로 실행 |
| 2. No, keep planning |
| → 계획 강화 (추천!) |
+-------------------------+
선수 지식 체크리스트
- [ ] 클로드 코드 설치 및 기본 사용법 (3장)
- [ ] 터미널/CLI 기본 조작 (키보드 단축키 등)
- [ ] CLAUDE.md 개념과 콘텍스트 윈도우 이해 (6장)
- [ ] Git 기본 개념 (커밋, 브랜치 등)
핵심 키워드
| 키워드 | 의미 |
|---|---|
| 일반 모드 | 클로드 코드의 기본 모드. 코드 수정을 제안하면 개발자가 Yes/No/Esc 중 선택하여 하나하나 확인하며 진행 |
| 자동 수정 모드 (auto-accept edits) | 클로드 코드가 사용자 허락 없이 알아서 판단하여 직접 코드를 수정하는 모드 |
| 플래닝 모드 (plan mode) | 코드를 작성하지 않고 소프트웨어의 구조와 개발 계획만 수립하는 모드 |
| Shift+Tab | 모드 전환 단축키. 누를 때마다 일반 → 자동 수정 → 플래닝 → 일반 순으로 사이클 |
| 콘텍스트 윈도우 제한 | LLM이 한 번에 처리할 수 있는 텍스트 한계. 자동 수정 모드에서 이 제한을 넘기면 클로드 코드가 흐름을 잃음 |
| [No, keep planning] | 플래닝 모드에서 계획을 바로 실행하지 않고 더 구체화하는 선택지. 저자가 강력 추천하는 방식 |
| Diff 기능 | IDE 플러그인과 연동되어 일반 모드에서 수정 내용을 일일이 확인할 수 있는 기능 |
7.1 하나하나 확인하고 보고 싶을 때, 일반 모드
한 줄 요약
일반 모드는 클로드 코드가 수정 사항을 제안하면 개발자가 하나씩 확인하고 승인/거부하는 기본 모드로, 학습과 제어에 최적이다.
쉬운 설명 (요리사 비유)
일반 모드 = 요리 초보가 레시피를 보며 한 단계씩 확인하는 것
❌ "알아서 요리해줘" → 뭘 넣었는지 모름, 맛이 이상해도 원인 파악 불가
✅ "소금 1스푼 넣을까요?" → "네!" → 다음 단계 → 직접 통제!
→ 클로드 코드가 "이렇게 수정할까요?" 물어보면
내가 확인하고 결정하는 것!
일반 모드의 3가지 응답 옵션
| 옵션 | 단축키 | 동작 |
|---|---|---|
| 1. Yes | Enter | 수정 사항을 승인하고 적용 |
| 2. Yes, and don't ask again | Shift+Tab | 이번 세션 동안 자동 승인 (= 자동 수정 모드 전환) |
| 3. No, and tell Claude differently | Esc | 수정을 거부하고 다른 방향을 지시 |
일반 모드가 유용한 5가지 상황
- 새 라이브러리/프레임워크 도입 시 — 기본 사용법을 익히면서 배울 때
- 다양한 알고리즘 아이디어 탐색 — 특정 로직 구현 방법을 비교할 때
- 오류 메시지 분석 — 발생한 에러의 의미를 정확히 이해하고 싶을 때
- 코드 리뷰 용도 — 자신의 코드에 대한 제3자 의견을 구할 때
- 클로드 코드를 아직 신뢰하지 못할 때 — 하나씩 내가 컨트롤하고 싶을 때
실무 예제 — IDE Diff 연동으로 수정 내용 확인
[일반 모드 + IDE 플러그인 활용 흐름]
1. 클로드 코드에게 수정 요청
> "crypto-ranking-board.tsx의 제목을 한글로 변경해줘"
2. 클로드 코드가 수정 제안 (Diff 형태로 표시)
130 130 | <span className="text-
131 131 | </div>
132 - | Cryptocurrency Rankings ← 삭제될 줄
132 + | 암호화폐 순위 ← 추가될 줄
133 133 | </CardTitle>
3. 개발자가 확인 후 Yes/No 선택
→ Yes: 수정 적용
→ No: "영어를 유지하되 부제목에 한글 추가해줘" 등 재지시
주의사항
❌ 매번 일반 모드만 사용하는 것:
→ 클로드 코드 성능의 1%만 활용하는 것!
→ 학습·디버깅에는 좋지만, 생산성은 낮다
✅ 일반 모드로 충분히 익힌 뒤:
→ 자동 수정 모드나 플래닝 모드를 적극 활용!
핵심 체크포인트
- [ ] 일반 모드는 클로드 코드의 기본 상태이며, 처음 실행하면 일반 모드로 시작한다
- [ ] 수정 제안 시 Yes / Shift+Tab(자동 승인) / Esc(거부) 3가지 옵션이 제공된다
- [ ] IDE 플러그인과 연동하면 Diff로 수정 내용을 시각적으로 확인할 수 있다
- [ ] 매번 일반 모드만 사용하면 클로드 코드 성능의 1%만 활용하는 것과 같다
7.2 반복 작업에 유용한, 자동 수정 모드
한 줄 요약
자동 수정 모드는 클로드 코드가 사용자 허락 없이 직접 코드를 수정하는 모드로, 반복 작업과 명확한 요구사항이 있을 때 생산성을 극대화한다.
쉬운 설명 (자동차 비유)
일반 모드 = 수동 기어 (매번 직접 기어 변경)
자동 수정 모드 = 자동 기어 (알아서 기어 변경)
❌ 목적지가 불분명한데 자동 기어 → 어디로 갈지 모름!
✅ 목적지가 명확할 때 자동 기어 → 빠르게 도착!
→ 요구사항이 명확하고 반복적일 때만 자동 수정 모드를 쓴다
자동 수정 모드 전환 방법
일반 모드에서 Shift + Tab 을 누른다
→ 대화창 아래에 'auto-accept edits on' 메시지가 나타나면 전환 완료!
> ▌
▸▸ auto-accept edits on (shift+tab ⊞ In
to cycle) crypto-ranking-board.tsx
자동 수정 모드가 적합한 5가지 상황
- 변수명/함수명/클래스명 일괄 변경 — 프로젝트 전반에 걸친 리네이밍
- 코드 리팩터링 — 기존 코드를 최신 패턴이나 스타일 가이드에 맞추기
- JSDoc 등 문서 작업 — 함수/클래스에 주석 추가
- 단순한 작업 반복 — 동일 패턴의 작업을 여러 파일에 적용
- 테스트 코드 작성 — 프로젝트 규모와 무관하게 잘 동작함
실무 예제 — 테스트 코드 자동 생성
[자동 수정 모드로 테스트 코드 생성]
> 현재 프로젝트에 테스트코드를 추가해줘
● 프로젝트에 테스트 코드를 추가하겠습니다.
● Update Todos
└ □ 프로젝트의 현재 상태 확인 및 테스트 프레임워크 결정
□ 테스트 프레임워크 및 필요한 패키지 설치
□ crypto-ranking-board 컴포넌트 테스트 작성
□ Jest 설정 파일 생성
□ 유틸리티 함수 테스트 작성
→ 클로드 코드가 알아서 파일 생성, 패키지 설치, 테스트 작성까지 진행!
자동 수정 모드 주의사항
⚠️ 자동 수정 모드의 위험:
개발자와 클로드 코드의 의도가 일치하지 않을 수 있다!
⚠️ 콘텍스트 윈도우 제한:
자동 수정 모드에서도 콘텍스트 제한을 넘기면 클로드 코드는 흐름을 잃는다!
✅ 자동 수정 모드 사용 원칙:
1. 작업 자체가 긴 콘텍스트를 필요로 하지 않을 것
2. 단순 반복 작업일 것
3. 명확한 PRD(요구사항 문서)가 이미 정리되어 있을 것
4. 테스트 코드는 아무리 방대해도 OK (프로젝트를 망치지 않음)
핵심 체크포인트
- [ ] Shift+Tab으로 자동 수정 모드로 전환한다 ('auto-accept edits on' 메시지 확인)
- [ ] 사용자 허락 없이 직접 코드를 수정하므로 주의가 필요하다
- [ ] 콘텍스트 윈도우 제한을 넘기면 클로드 코드가 흐름을 잃을 수 있다
- [ ] 테스트 코드 작성은 자동 수정 모드와 궁합이 매우 좋다
7.3 가장 강력한 기능, 플래닝 모드
한 줄 요약
플래닝 모드는 코드를 작성하지 않고 소프트웨어의 구조와 개발 계획을 수립하는 모드로, 저자가 클로드 코드의 가장 핵심적인 기능이라고 강조한다.
쉬운 설명 (건축 비유)
플래닝 모드 = 건물 짓기 전에 설계도를 그리는 것
❌ 설계도 없이 바로 건축 → 구조 불안정, 나중에 다 뜯어고침
✅ 설계도 먼저 완성 → 체계적으로 시공 → 안정적인 건물!
→ 코드를 작성하기 전에 "뭘 만들지" 계획부터 세우는 것!
플래닝 모드 전환 방법
Shift + Tab 을 눌러 사이클을 돌린다
일반 모드 → 자동 수정 모드 → 플래닝 모드 → 일반 모드 → ...
채팅창 아래에 'plan mode on' 메시지가 나타나면 전환 완료!
> ▌
‖ plan mode on (shift+tab to cycle) ○
플래닝 모드 사용법 — 개방적 질문 던지기
✅ 플래닝 모드에 적합한 질문:
"인증 시스템을 구현하고 싶은데 어떻게 하면 좋을까?
몇 가지 방법을 추천해줘"
→ 클로드 코드가 체계적인 계획을 제시:
1. NextAuth.js 설치 및 기본 설정
2. 인증 제공자 설정 (Google OAuth, GitHub OAuth 등)
3. 세션 관리 구현
4. UI 컴포넌트 생성
5. 데이터베이스 연동
6. 보안 강화
→ "이 계획을 진행하시겠습니까?" 질문이 나옴
[Yes]를 바로 누르지 마세요! (핵심 노하우)
⚠️ 저자의 핵심 조언:
"저는 첫 번째 플랜에 [Yes]를 바로 선택하지 않는 것을 추천합니다"
[플래닝 모드 최적 활용 흐름]
1단계: 개방적 질문 던지기
→ "인증 시스템 구현하고 싶은데 추천해줘"
2단계: 첫 번째 계획 확인
→ Would you like to proceed?
→ ❌ [Yes] 바로 누르기
→ ✅ [No, keep planning] 선택!
3단계: 더 구체적인 요구사항 추가
→ "Prisma + PostgreSQL로 하고, Zustand로 인증 상태 관리해줘"
4단계: 강화된 계획 확인
→ 패키지, 모델 정의, 라우트, 미들웨어, UI까지 상세 계획 제시
→ 다시 확인하고 [No] 또는 [Yes] 선택
5단계: 만족할 만큼 구체화되면 [Yes]
[Yes]를 바로 누르면 안 되는 3가지 이유
| 문제 | 설명 |
|---|---|
| 기술 무작위 선택 | 첫 계획에서 [Yes]를 누르면 클로드 코드가 기술을 무작위로 선택할 수 있음 |
| 과한 계획 | 이메일 인증만 필요한데 Google OAuth, GitHub OAuth까지 포함된 과도한 계획이 나올 수 있음 |
| 콘텍스트 낭비 | 너무 큰 계획을 한 번에 실행하면 콘텍스트 윈도우의 문제가 생김 |
실무 예제 — 인증 시스템 플래닝 과정
[1차 플랜 — 막연한 계획]
NextAuth.js를 사용한 인증 시스템 구현 계획
1. NextAuth.js 설치 및 기본 설정
2. 인증 제공자 설정
- Google OAuth (가장 일반적)
- GitHub OAuth (개발자 친화적)
- 이메일/비밀번호 인증 옵션
→ 어떤 DB를 쓸지, 어떤 상태관리를 할지 불명확!
→ [No, keep planning] 선택하여 구체화!
[2차 플랜 — 구체적인 계획]
(요구사항: "Prisma + PostgreSQL, Zustand 사용해줘")
Prisma + PostgreSQL (Supabase) 인증 시스템 구현 계획
1. 필요한 패키지 설치
- @prisma/client, prisma — ORM
- bcryptjs — 비밀번호 해싱
- jsonwebtoken — JWT 토큰 생성/검증
2. Supabase 프로젝트 설정
- PostgreSQL 연결 URL 획득
- 환경 변수 설정 (.env.local)
3. Supabase 클라이언트 설정
4. Zustand 스토어 구현 — 인증 상태 관리
- user 상태, loading 상태
- signIn, signUp, signOut 액션
5. 인증 Provider 구현
6. UI 컴포넌트 생성
7. 페이지 생성
8. 미들웨어 설정
9. 레이아웃 업데이트
→ 매우 구체적! 이 정도면 [Yes] 선택해도 OK!
계획이 너무 클 때 — 작업 분할 전략
⚠️ 계획이 너무 큰 경우:
→ 제어할 수 있는 범위 내에서 작업을 나눠 진행하는 것이 좋다!
✅ 깃허브 이슈 분할 전략:
큰 계획을 하나의 이슈로 만들지 말고 분할한다:
1. 이메일 인증 → 이슈 #1
2. Google OAuth 인증 → 이슈 #2
3. GitHub OAuth 인증 → 이슈 #3
→ 하나로 생성하면 콘텍스트가 터지고, 분할하면 효율적!
클로드 코드 = 코딩 파트너
실제 클로드 코드는 코딩 파트너와 함께 협업하는 것과 같다.
❌ "알아서 다 해줘" → 의도와 다른 결과
✅ "이런 기술 쓰고, 이런 구조로 하고, 이 범위만 해줘"
→ 작업 규모를 제시하고 협업해야 효율적!
핵심 체크포인트
- [ ] 플래닝 모드는 코드를 작성하지 않고 계획만 세우는 모드이다
- [ ] 막연히 구현할 기능이 있을 때는 일단 플래닝 모드로 진입한다
- [ ] 첫 번째 플랜에 [Yes]를 바로 누르지 않고 [No, keep planning]으로 구체화한다
- [ ] 계획이 너무 크면 작업을 분할하여 이슈 단위로 나눈다
- [ ] 저자는 플래닝 모드를 클로드 코드의 "가장 핵심적인 기능"이라 평가한다
연습 문제
문제 1: 모드 선택 판단 (기본)
다음 상황에서 어떤 모드를 사용해야 하는지 골라보세요.
| 상황 | 모드? |
|---|---|
| A. 처음 써보는 React Query의 동작을 이해하고 싶다 | |
| B. 프로젝트 전체의 변수명을 camelCase에서 snake_case로 바꾸고 싶다 | |
| C. 새로운 결제 시스템을 구현해야 하는데 어디서부터 시작할지 모르겠다 | |
| D. 빌드 에러 메시지가 이해가 안 된다 | |
| E. 이미 정해진 디자인대로 컴포넌트 10개를 만들어야 한다 |
정답 보기
| 상황 | 모드 | 이유 | |------|------|------| | A | **일반 모드** | 새 기술을 익히면서 하나씩 확인하며 배워야 하므로 | | B | **자동 수정 모드** | 프로젝트 전반의 단순 반복 리네이밍 작업이므로 | | C | **플래닝 모드** | 구현 전에 설계와 기술 선택을 먼저 해야 하므로 | | D | **일반 모드** | 오류의 의미를 정확히 이해하고 싶은 학습/디버깅 상황이므로 | | E | **자동 수정 모드** | 명확한 요구사항(디자인)이 있는 반복 생성 작업이므로 |문제 2: 플래닝 모드 실전 (중급)
아래는 클로드 코드의 플래닝 모드에서 받은 첫 번째 계획입니다. 이 계획에서 발견할 수 있는 문제점 3가지를 찾고, [No, keep planning]과 함께 어떤 추가 요구사항을 입력할지 작성하세요.
블로그 시스템 구현 계획
1. Next.js + TypeScript 기본 설정
2. 데이터베이스 연동 (MongoDB or PostgreSQL)
3. 인증 시스템 (NextAuth.js)
4. 게시글 CRUD
5. 댓글 시스템
6. 태그/카테고리
7. 검색 기능
8. SEO 최적화
9. 다크모드
10. 반응형 디자인
정답 예시
**문제점 3가지:** 1. **DB 미결정**: "MongoDB or PostgreSQL"로 기술이 확정되지 않음 → 클로드가 무작위로 선택할 수 있음 2. **범위 과다**: 인증, 댓글, 검색, SEO, 다크모드까지 한 번에 구현하면 콘텍스트 윈도우 제한에 걸림 3. **구체성 부족**: 패키지, 파일 구조, 모델 정의 등이 전혀 없음 **추가 요구사항 예시:** "PostgreSQL + Prisma를 사용하고, 우선 게시글 CRUD만 먼저 구현해줘. 인증은 다음 단계에서 별도로 진행할 거야. 파일 구조와 Prisma 모델도 구체적으로 보여줘."문제 3: 모드 전환 순서 (기본)
Shift+Tab을 누를 때마다 모드가 어떤 순서로 전환되는지 빈칸을 채우세요.
( ) 모드 → ( ) 모드 → ( ) 모드 → ( ) 모드 → ...
정답 보기
( 일반 ) 모드 → ( 자동 수정 ) 모드 → ( 플래닝 ) 모드 → ( 일반 ) 모드 → ...
Shift+Tab은 3가지 모드를 순환(cycle)하는 단축키이다.
부록 A — 용어 사전
| 용어 | 영문 | 설명 |
|---|---|---|
| 일반 모드 | Normal Mode | 클로드 코드의 기본 동작 모드. 수정 제안을 개발자가 하나씩 확인하고 승인/거부 |
| 자동 수정 모드 | Auto-accept Edits Mode | 개발자 허락 없이 클로드 코드가 직접 코드를 수정하는 모드 |
| 플래닝 모드 | Plan Mode | 코드를 작성하지 않고 소프트웨어 설계와 개발 계획만 수립하는 모드 |
| Shift+Tab | — | 모드 전환 단축키. 일반 → 자동 수정 → 플래닝 순으로 사이클 |
| Diff | — | 코드의 변경 전/후를 비교하여 보여주는 기능. IDE 플러그인과 연동 가능 |
| 콘텍스트 윈도우 | Context Window | LLM이 한 번에 처리할 수 있는 텍스트 용량 한계 |
| PRD | Product Requirements Document | 제품 요구사항 문서. 명확한 PRD가 있으면 자동 수정 모드가 효과적 |
| Keep Planning | — | 플래닝 모드에서 첫 계획을 바로 실행하지 않고 더 구체화하는 선택 |
부록 B — 비교표
3가지 모드 종합 비교
| 구분 | 일반 모드 | 자동 수정 모드 | 플래닝 모드 |
|---|---|---|---|
| 전환 방법 | 기본 상태 (별도 전환 불필요) | Shift+Tab 1회 | Shift+Tab 2회 |
| 표시 메시지 | — | auto-accept edits on | plan mode on |
| 코드 수정 | 제안 후 승인 대기 | 허락 없이 직접 수정 | 코드 수정 안 함 |
| 개발자 제어권 | 높음 (매 수정마다 확인) | 낮음 (자동 진행) | 높음 (계획 검토) |
| 적합한 상황 | 학습, 디버깅, 코드 리뷰 | 리네이밍, 리팩터링, 테스트 | 설계, 아키텍처, 기술 선택 |
| 생산성 | 낮음 (확인 오버헤드) | 높음 (자동 진행) | 간접적으로 높음 (계획 후 실행) |
| 위험도 | 낮음 | 중간 (의도 불일치 가능) | 낮음 |
| 콘텍스트 사용 | 보통 | 주의 필요 (제한 초과 위험) | 효율적 (계획 단계에서 최적화) |
상황별 모드 추천 가이드
| 상황 | 추천 모드 | 이유 |
|---|---|---|
| 새 프레임워크 학습 | 일반 | 코드 변경을 하나씩 확인하며 학습 |
| 변수명 일괄 변경 | 자동 수정 | 단순 반복 작업, 명확한 패턴 |
| 새 기능 설계 | 플래닝 | 코드 전에 구조와 기술 결정 |
| 버그 원인 분석 | 일반 | 에러를 단계별로 추적 |
| 테스트 코드 작성 | 자동 수정 | 프로젝트를 망치지 않는 안전한 작업 |
| 대규모 리팩터링 계획 | 플래닝 → 자동 수정 | 먼저 계획, 그 다음 실행 |
| JSDoc 문서화 | 자동 수정 | 반복적 문서 작업 |
| 코드 리뷰 | 일반 | 제3자 시각으로 확인 |
부록 C — 참고 자료
| 자료 | 링크/위치 | 설명 |
|---|---|---|
| 클로드 코드 공식 문서 | https://docs.anthropic.com/en/docs/claude-code | 공식 가이드 및 모드 설명 |
| 코드팩토리 GitHub | https://github.com/codefactory-co | 저자의 예제 코드 저장소 |
| 클로드 코드 완벽 가이드 6장 | 같은 책 6장 | CLAUDE.md와 콘텍스트 윈도우 선수 지식 |
| 클로드 코드 완벽 가이드 3장 | 같은 책 3장 | 클로드 코드 설치 및 기본 사용법 |
난이도
에피소드
질문
카드를 로딩 중...
답변
클릭하거나 Space를 눌러 뒤집기
0 / 0
학습 진도
0%
← → 이동
Space 뒤집기
R 셔플